home *** CD-ROM | disk | FTP | other *** search
/ Business Assistant / Business Assistant.iso / sched / vac50 / vac.bas (.txt) < prev    next >
Encoding:
GW-BASIC  |  1986-03-08  |  10.5 KB  |  325 lines

  1. 5  REM =================== PROGRAM LOADING ROUTINE ============================
  2. 10  CLS:COLOR 3,0:KEY OFF
  3. 15  CLEAR,,2500
  4. 20  DIM A$(50):DIM B(50,30):DIM C(485,10):DIM D(50,6)
  5. 25  DIM CAL$(485):DIM WK$(69)
  6. 26  LOCATE 9,31:PRINT "--VACATION SCHEDULE--"
  7. 27  LOCATE 10,35:PRINT"** LOADING **"
  8. 28  LOCATE 11,39:PRINT "WAIT !"
  9. 30  OPEN "VACCAL" FOR INPUT AS #1
  10. 35  FOR Z=1 TO 485:INPUT#1,CAL$(Z):NEXT Z
  11. 40  FOR Z=1 TO 69:INPUT #1,WK$(Z):NEXT Z
  12. 45  CLOSE#1
  13. 50  OPEN"VACDATA.1"FOR INPUT AS#2
  14. 55  FOR Z=1 TO 50:INPUT #2,A$(Z)
  15. 60  FOR Y=1 TO 6:INPUT #2,D(Z,Y):NEXT Y
  16. 65  NEXT Z:CLOSE#2
  17. 68  OPEN"VACDATA.2"FOR INPUT AS#3
  18. 70  FOR Z=1 TO 50
  19. 75  FOR Y=1 TO 30:INPUT #3,B(Z,Y):NEXT Y
  20. 80  NEXT Z
  21. 83  FOR Z=1 TO 485
  22. 85  FOR Y=1 TO 10:INPUT #3,C(Z,Y):NEXT Y
  23. 90  NEXT Z:CLOSE#3
  24. 190  SOUND 523,8:SOUND 1046,8:SOUND 130,10
  25. 195  REM ========================= MENU MODULE ================================
  26. 200  CLS:COLOR 3:PRINT STRING$(80,61);
  27. 202  ON KEY(9) GOSUB 2000:KEY(9) ON
  28. 205  COLOR 12:PRINT TAB(30)"MENU";TAB(74)"(200)"
  29. 207  COLOR 3:PRINT TAB(24)"VACATION SCHEDULE"
  30. 210  PRINT STRING$(80,61);
  31. 215  COLOR 14:PRINT TAB(20)"1:ENTER INDIVIDUAL SCHEDULE";TAB(74)"(600)":PRINT
  32. 220  PRINT TAB(20)"2:CANCEL INDIVIDUAL SCHEDULE";TAB(74)"(800)":PRINT
  33. 225  PRINT TAB(20)"3:ENTER ROSTER AND CONFLICTS";TAB(74)"(300)"
  34. 227  COLOR 3:PRINT TAB(19) STRING$(36,45)
  35. 230  PRINT TAB(20)"4:READ INDIVIDUAL SCHEDULE";TAB(74)"(700)":PRINT
  36. 232  PRINT TAB(20)"5:READ WEEKLY SCHEDULE";TAB(74)"(500)":PRINT
  37. 235  PRINT TAB(20)"6:READ ROSTER AND CONFLICTS";TAB(74)"(400)":PRINT
  38. 240  PRINT TAB(20)"7:READ LIST OF OPEN/CLOSED DAYS";TAB(74)"(900)"
  39. 242  PRINT TAB(19) STRING$(36,45)
  40. 243  COLOR 12:PRINT TAB(19)"10:DELETE ALL VACATION DATA &RESET";TAB(74)"(5000)"
  41. 244  PRINT
  42. 245  PRINT TAB(19)"12:DELETE VACATION CALENDER & RESET";TAB(74)"(5100)":COLOR 3
  43. 250  PRINT STRING$(80,61);
  44. 255  INPUT "ENTER MENU NUMBER:----OR ENTER (0) TO EXIT PROGRAM:                                               ----OR ENTER (20) TO BACKUP DATA:",M
  45. 256  IF M=20 THEN 6000
  46. 257  IF M=0 THEN SYSTEM
  47. 260  ON M GOTO 600,800,300,700,500,400,900,200,200,5000,200,5100
  48. 295  REM ================= ROSTER ENTRY MODULE ================================
  49. 300  CLS:GOSUB 3000:PRINT TAB(30)"***VACATION PRIORITY LIST***"
  50. 305  PRINT STRING$(80,61);
  51. 310  INPUT "ENTER NUMBER OF NAMES TO LIST:";R
  52. 315  INPUT "ENTER FIRST SEQUENTIAL SENIORITY NO.(1 TO 50)";S
  53. 320  PRINT STRING$(80,61);
  54. 325  FOR Z=S TO S+R-1
  55. 330  PRINT Z;:INPUT"ENTER NAME:";A$(Z)
  56. 335  FOR X=1 TO 6
  57. 340  INPUT "ENTER CONFLICT# (0 IF NONE)";D(Z,X)
  58. 345  IF D(Z,X)=0 THEN 355
  59. 350  NEXT X
  60. 355  NEXT Z
  61. 360  GOSUB 1000
  62. 365  GOTO 200
  63. 395  REM ================= ROSTER READOUT MODULE ==============================
  64. 400  CLS:X=1:GOSUB 3000
  65. 402  N=0
  66. 405  FOR Z=1 TO 24:PRINT TAB(38) CHR$(179):NEXT:LOCATE 1,1
  67. 410  FOR Z=1 TO 50
  68. 420  IF A$(Z)="" THEN 480
  69. 425  IF Z=24 THEN X=40:N=0
  70. 430  N=N+1:LOCATE N,X:PRINT Z;
  71. 435  PRINT A$(Z);
  72. 437  LOCATE CSRLIN,15+X
  73. 440  FOR Y=1 TO 6
  74. 450  IF D(Z,Y)=0 THEN 470
  75. 460  PRINT USING "###";D(Z,Y);:NEXT Y
  76. 470  NEXT Z
  77. 480  LOCATE 25,23:INPUT"",X
  78. 490  GOTO 200
  79. 495  REM ================= SCHEDULE READOUT MODULE ============================
  80. 500  CLS
  81. 502  PRINT"**WEEKLY VACATION SCHEDULE**"
  82. 503  COLOR 12:INPUT"DO YOU WANT HARD COPY?(Y/N)",HC$:COLOR 3
  83. 505  INPUT "ENTER WEEK# (1-70) OR ENTER A MONDAY DATE (mm-dd-yy)";X$:CLS
  84. 506  IF LEN(X$)<3 THEN X=VAL(X$):GOTO 510
  85. 507  FOR X=1 TO 69:IF WK$(X)=X$ THEN 510
  86. 508  NEXT X
  87. 509  IF X=70 THEN PRINT "INVALID DATE--ENTER AGAIN":GOTO 505
  88. 510  PRINT TAB(18)"*** VACATION SCHEDULE-WEEK #";X$;"***":PRINT STRING$(68,61)
  89. 512  IF HC$="Y"THEN LPRINT TAB(20)"*** VACATION SCHEDULE-WEEK#";X$;"***":LPRINT STRING$(68,61)
  90. 515  FOR Y=1 TO 485
  91. 520  IF MID$(CAL$(Y),3,8)=WK$(X) THEN 530
  92. 525  NEXT Y
  93. 530  FOR N=Y TO Y+4:PRINT"  ";MID$(CAL$(N),1,2);":";MID$(CAL$(N),3,5),:NEXT N
  94. 535  FOR S=1 TO 5:PRINT "------------",:NEXT S
  95. 544  XX=1:YY=5
  96. 545  FOR N=Y TO Y+4
  97. 550  FOR Z=1 TO 10
  98. 552  LOCATE YY,XX
  99. 554  IF C(N,Z)<>0 THEN PRINT A$(C(N,Z))
  100. 555  IF C(N,Z)=0 THEN 558
  101. 557  YY=YY+1
  102. 558  NEXT Z
  103. 559  IF Z>=10 THEN YY=5:XX=XX+14
  104. 560  NEXT N
  105. 562  XX=1:FOR N=Y TO Y+4
  106. 564  IF MID$(CAL$(N),11,2)="HL"THEN LOCATE 5,XX:PRINT "** HOLIDAY**";
  107. 566  XX=XX+14:NEXT N
  108. 570  LOCATE 24,1:PRINT STRING$(68,61);
  109. 572  IF HC$="Y" THEN 576
  110. 573  LOCATE 25,1:INPUT"READ ANOTHER WEEK?(Y/N):",I$
  111. 574  IF I$="Y" THEN 500
  112. 575  GOTO 200
  113. 576  X=1:FOR N=Y TO Y+4:LPRINT TAB(X) MID$(CAL$(N),1,2);":";MID$(CAL$(N),3,5);
  114. 577  X=X+14:NEXT N
  115. 578  X=1:FOR S=1 TO 5:LPRINT TAB(X)"------------";:X=X+14:NEXT S
  116. 580  X=1:FOR N=Y TO Y+4
  117. 581  IF MID$(CAL$(N),11,2)<>"HL" THEN X=X+14
  118. 582  IF MID$(CAL$(N),11,2)="HL"THEN LPRINT TAB(X)"**HOLIDAY**";:X=X+14
  119. 583  NEXT N
  120. 584  FOR Z=1 TO 10:X=1
  121. 585  FOR N=Y TO Y+4
  122. 586  IF C(N,Z)<>0 THEN LPRINT TAB(X)A$(C(N,Z));:X=X+14
  123. 587  IF C(N,Z)=0 THEN X=X+14
  124. 588  NEXT N
  125. 589  NEXT Z
  126. 590  LPRINT CHR$(10);:LPRINT STRING$(68,61)
  127. 592  FOR N=1 TO 5:LPRINT CHR$(10);:NEXT N:GOTO 573
  128. 595  REM ============== WEEKLY SCHEDULE INPUT MODULE ==========================
  129. 600  CLS:W=1
  130. 605  PRINT TAB(20)"**VACATION SCHEDULE INPUT**"
  131. 608  PRINT STRING$(80,61);
  132. 609  GOSUB 3000
  133. 610  PRINT "ENTER LAST NAME:";:COLOR 12:INPUT"",N$:COLOR 3
  134. 611  FOR ZZ=1 TO 50:IF A$(ZZ)=N$ THEN Z=ZZ:ZZ=50:GOTO 613
  135. 612  IF ZZ=50 AND A$(ZZ)<>N$ THEN LOCATE 3,1:PRINT"INVALID NAME:";:GOTO 610
  136. 613  NEXT ZZ
  137. 614  PRINT "ENTER DATE OF FIRST VACATION DAY (mm-dd-yy):";:COLOR 12:INPUT"",DAY$:COLOR 3
  138. 616  FOR YY=1 TO 485:IF MID$(CAL$(YY),3,8)=DAY$ THEN Y=YY:YY=485
  139. 617  NEXT YY
  140. 618  PRINT "ENTER NO. OF CONSECUTIVE VACATION DAYS:";:COLOR 12:INPUT"",N:NN=N:COLOR 3
  141. 619  ON ERROR GOTO 5500
  142. 620  DIM DAYS(30):FOR X=Y TO Y+N-1
  143. 621  IF MID$(CAL$(X),1,1)="S" THEN N=N+1
  144. 622  IF MID$(CAL$(X),1,1)="S" THEN 630
  145. 623  IF MID$(CAL$(X),11,2)="HL" THEN N=N+1
  146. 624  IF MID$(CAL$(X),11,2)="HL" THEN 630
  147. 626  DAYS(W)=X:W=W+1
  148. 627  IF DAYS(NN)<>0 THEN 635
  149. 630  NEXT X
  150. 632  IF DAYS(NN)=0 THEN ERASE DAYS:W=1:GOTO 620
  151. 635  PRINT STRING$(80,61);
  152. 636  FOR X=Y TO Y+N-1
  153. 637  FOR W=1 TO 30:IF B(Z,W)=X THEN PRINT "INVALID--DUPLICATE DATE SCHEDULED--PRESS ANY KEY/ENTER TO RE-SCHEDULE":INPUT "",I$:GOTO 694
  154. 638  NEXT W
  155. 639  NEXT X
  156. 640  FOR W=1 TO 30
  157. 642  IF DAYS(W)=0 THEN 658
  158. 645  PRINT MID$(CAL$(DAYS(W)),1,2);": ";MID$(CAL$(DAYS(W)),3,8);" (";
  159. 650  FOR M=1 TO 10:IF C(DAYS(W),M)=0 THEN 652
  160. 651  NEXT M
  161. 652  PRINT M-1;")  "
  162. 654  IF (M-1)=>4 THEN LOCATE CSRLIN-1,20:PRINT "<CONFLICT:";M-1;"SCHEDULED!"
  163. 656  NEXT W
  164. 658  LOCATE 7,40
  165. 660  FOR W=1 TO 30:IF DAYS(W)=0 THEN 674
  166. 662  FOR N=1 TO 4:IF D(Z,N)=0 THEN 672
  167. 664  FOR M=1 TO 10
  168. 666  IF C(DAYS(W),M)=D(Z,N)THEN LOCATE CSRLIN,46:PRINT "CONFLICT WITH:";A$(D(Z,N));":";MID$(CAL$(DAYS(W)),3,8)
  169. 668  NEXT M
  170. 670  NEXT N
  171. 672  NEXT W
  172. 674  LOCATE 21,1:PRINT STRING$(80,61);
  173. 676  INPUT "APPROVE SCHEDULE?(Y/N)";I$
  174. 677  LOCATE 23,1
  175. 678  IF I$="N" THEN PRINT"SCHEDULE NOT APPROVED FOR PROCESSING-RESCHEDULE":GOTO 694
  176. 682  FOR Y=1 TO 30:IF B(Z,Y)=0 THEN 686
  177. 683  NEXT Y
  178. 686  FOR W=1 TO 30:IF DAYS(W)=0 THEN 690
  179. 688  B(Z,Y)=DAYS(W):Y=Y+1:NEXT W
  180. 690  W=1
  181. 691  FOR Y=1 TO 10:IF C(DAYS(W),Y)=0 THEN GOTO 698
  182. 692  NEXT Y
  183. 693  GOSUB 4000
  184. 694  LOCATE 22,30:PRINT"*PROCESSING*":GOSUB 1500
  185. 696  ERASE DAYS:LOCATE 25,1:INPUT"PRESS ANY KEY/ENTER TO CONTINUE ",I$:GOTO 200
  186. 698  C(DAYS(W),Y)=Z:W=W+1:IF DAYS(W)<>0 THEN 691 ELSE GOTO 693
  187. 699  REM ============== INDIVIDUAL SCHEDULE READOUT MODULE ====================
  188. 700  CLS:GOSUB 3000
  189. 705  INPUT "TO READ VACATION SCHEDULE--ENTER LAST NAME";N$
  190. 710  FOR ZZ=1 TO 50:IF A$(ZZ)=N$ THEN Z=ZZ:ZZ=50:CLS:PRINT TAB(20)"VACATION SCHEDULE FOR: ";A$(Z):GOTO 720
  191. 715  IF ZZ=50 THEN PRINT "INVALID NAME--ENTER AGAIN":GOTO 705
  192. 720  NEXT ZZ
  193. 725  PRINT STRING$(68,61)
  194. 730  FOR Y=1 TO 30
  195. 735  IF B(Z,Y)<>0 THEN PRINT MID$(CAL$(B(Z,Y)),1,2);":";MID$(CAL$(B(Z,Y)),3,8),
  196. 740  IF B(Z,Y)=0 THEN Y=30
  197. 745  NEXT Y
  198. 747  IF POS(0)<>1 AND POS(0)<60 THEN LOCATE CSRLIN+1,1
  199. 750  FOR N=1 TO 5:PRINT STRING$(11,45),:NEXT N
  200. 752  IF M=2 THEN RETURN
  201. 753  COLOR 12:LOCATE 23,1:INPUT"DO YOU WANT HARDCOPY?(Y/N):",HC$
  202. 754  COLOR 3:IF HC$="Y"THEN GOSUB 770
  203. 755  LOCATE 24,1:INPUT "READ ANOTHER SCHEDULE ?(Y/N):",I$
  204. 760  IF I$="Y"THEN 700
  205. 765  GOTO 200
  206. 770  LPRINT TAB(20)"VACATION SCHEDULE FOR: ";A$(Z)
  207. 772  LPRINT STRING$(68,61)
  208. 774  X=1:FOR Y=1 TO 30
  209. 776  IF B(Z,Y)<>0THEN LPRINT TAB(X)MID$(CAL$(B(Z,Y)),1,2);":";MID$(CAL$(B(Z,Y)),3,8);
  210. 778  IF B(Z,Y)=0 THEN Y=30:GOTO 782
  211. 780  X=X+14:IF X>60 THEN X=1
  212. 782  NEXT Y
  213. 784  LPRINT CHR$(141);:X=1:FOR N=1 TO 5:LPRINT TAB(X) STRING$(11,45);:X=X+14:NEXT N
  214. 786  FOR N=1 TO 10:LPRINT CHR$(10);:NEXT N
  215. 788  LPRINT CHR$(7):RETURN
  216. 795  REM ============== CANCEL INDIVIDUAL SCHEDULE MODULE =====================
  217. 800  CLS:GOSUB 3000
  218. 805  PRINT "TO CANCEL SCHEDULED VACATION--ENTER LAST NAME:";:COLOR 12:INPUT "",N$:COLOR 3:GOSUB 710
  219. 810  PRINT "DAYS MUST BE CANCELLED ONE AT A TIME":GOSUB 3000
  220. 815  PRINT "ENTER DATE TO CANCEL (mm-dd-yy) OR ENTER (0) TO STOP:";:COLOR 12:INPUT "",C$:COLOR 3
  221. 820  IF C$="0"THEN LOCATE 22,36:PRINT"**PROCESSING**":GOTO 860
  222. 825  FOR NN=1 TO 485:IF MID$(CAL$(NN),3,8)=C$ THEN N=NN:NN=485:GOTO 827
  223. 826  IF NN=485 THEN COLOR 12:PRINT "INVALID ENTRY--ENTER AGAIN":COLOR 3:GOTO 815
  224. 827  NEXT NN
  225. 830  FOR YY=1 TO 30:IF B(Z,YY)=N THEN B(Z,YY)=0:Y=YY:YY=30:GOTO 835
  226. 835  NEXT YY
  227. 840  FOR W=Y TO 29:B(Z,W)=B(Z,W+1):NEXT W
  228. 845  FOR Y=1 TO 10:IF C(N,Y)=Z THEN C(N,Y)=0:GOTO 850
  229. 847  NEXT Y
  230. 850  FOR W=Y TO 9:C(N,W)=C(N,W+1):NEXT W
  231. 855  GOTO 815
  232. 860  GOSUB 1500
  233. 865  CLS:M=4:GOTO 710
  234. 895  REM =============== NO. OF PEOPLE SCHEDULED MODULE =======================
  235. 900  CLS:GOSUB 3000:INPUT "ENTER MAX NUMBER ALLOWED TO BE SCHEDULED PER DAY (1 TO 10)";X:CLS
  236. 915  GOSUB 980
  237. 920  FOR Z=1 TO 485
  238. 921  IF Z=126 OR Z=252 OR Z=378 THEN GOSUB 960
  239. 922  IF MID$(CAL$(Z),1,1)="S" THEN 950
  240. 930  IF MID$(CAL$(Z),1,1)<>"S" THEN PRINT " ";MID$(CAL$(Z),3,5);" (";
  241. 932  IF MID$(CAL$(Z),11,2)="HL" THEN COLOR 12:PRINT "HL";:COLOR 3:PRINT ")",:GOTO 950
  242. 935  FOR Y=1 TO 10:IF C(Z,Y)=0 THEN 938
  243. 937  NEXT Y
  244. 938  COLOR 14
  245. 940  IF Y-1>=X THEN COLOR 12:PRINT STR$(Y-1);:COLOR 3:PRINT ")*",:GOTO 950
  246. 945  PRINT STR$(Y-1);:COLOR 3:PRINT ")",
  247. 950  NEXT Z
  248. 955  LOCATE 22,1:PRINT "KEY F5 FOR MENU":END:GOTO 200
  249. 960  PRINT STRING$(68,45)
  250. 965  INPUT "WANT TO CONTINUE? (Y/N)";I$
  251. 970  IF I$="N" THEN 200
  252. 975  CLS:GOSUB 980:RETURN
  253. 980  COLOR 14:PRINT TAB(10)"OPEN";:COLOR 3:PRINT "/";:COLOR 12:PRINT "CLOSED";:COLOR 3:PRINT " VACATION DAYS--( )=NO. OF PEOPLE SCHEDULED"
  254. 981  PRINT STRING$(68,61)
  255. 983  PRINT "     MON","     TUE","     WED","     THU","     FRI"
  256. 984  FOR N=1 TO 5:PRINT "------------",:NEXT N
  257. 985  RETURN
  258. 995  REM =============== WRITE TO ROSTER FILE SUB-ROUTINE =====================
  259. 1000  OPEN "VACDATA.1" FOR OUTPUT AS #2
  260. 1005  FOR Z=1 TO 50:WRITE#2,A$(Z)
  261. 1010  FOR Y=1 TO 6:WRITE#2,D(Z,Y):NEXT Y
  262. 1015  NEXT Z:CLOSE#2
  263. 1060  RETURN
  264. 1095  REM =============== WRITE TO SCHEDULE FILE SUB-ROUTINE ==================
  265. 1500  OPEN"VACDATA.2" FOR OUTPUT AS #3
  266. 1505  FOR Z=1 TO 50
  267. 1510  FOR Y=1 TO 30:WRITE#3,B(Z,Y):NEXT Y
  268. 1520  NEXT Z
  269. 1525  FOR Z=1 TO 485
  270. 1530  FOR Y=1 TO 10:WRITE#3,C(Z,Y):NEXT Y
  271. 1535  NEXT Z:CLOSE#3
  272. 1537  SOUND 523,8:SOUND 1046,8:SOUND 130,10
  273. 1540  RETURN
  274. 2000  RETURN 200
  275. 2095  REM =================== ESCAPE SUB-ROUTINE ==============================
  276. 3000  LIN=CSRLIN
  277. 3005  COLOR 12:LOCATE 25,1:PRINT "TO EXIT---KEY F9/ENTER";:COLOR 3
  278. 3010  LOCATE LIN,1:RETURN
  279. 3095  REM =============== SCHEDULE APPROVAL SUB- ROUTINE ======================
  280. 4000  COLOR 12:PRINT "*SCHEDULE APPROVED*";
  281. 4010  INPUT "WANT TO SCHEDULE ANOTHER? (Y/N):";I$
  282. 4020  IF I$="Y" THEN ERASE DAYS:COLOR 3:GOTO 600
  283. 4025  IF I$="N" THEN COLOR 3:RETURN
  284. 4095  REM =============== SCHEDULE FILE RE-INITIALIZATION MODULE ==============
  285. 5000  CLS:PRINT "YOU ARE ABOUT TO ERASE ALL VACATION DATES FOR ALL PERSONNEL!!"
  286. 5005  INPUT "OK TO PROCEED? (Y/N)",I$
  287. 5010  IF I$<>"Y" THEN 200 ELSE 7000
  288. 5015  ERASE B:ERASE C:DIM B(50,30):DIM C(485,10)
  289. 5017  LOCATE 12,30:PRINT"**ERASING**":GOSUB 1500:LOCATE 12,30:PRINT "              ":LOCATE 4,1
  290. 5020  INPUT "DO YOU WANT TO ERASE THE PERSONNEL ROSTER & CONFLICT LIST? (Y/N)",I$
  291. 5025  IF I$<>"Y" THEN RUN ELSE 5027
  292. 5027  ERASE A$:ERASE D:DIM A$(50):DIM D(50,6)
  293. 5028  LOCATE 12,30:PRINT"**ERASING**":GOSUB 1000
  294. 5030  RUN
  295. 5095  REM =============== CALENDAR FILE RE-INITIALIZATION MODULE ==============
  296. 5100  CLS:PRINT "YOU ARE ABOUT TO ERASE THE VACATION CALENDER!!"
  297. 5110  INPUT "DO YOU WANT TO PROCEED? (Y/N):",I$
  298. 5115  IF I$<>"Y" THEN 200
  299. 5120  CLS:CLEAR:CHAIN MERGE"VAC1",6000,DELETE 10-5030
  300. 5140  CLEAR:PRINT "TYPE RUN VAC"
  301. 5150  RUN"VAC"
  302. 5195  REM =============== ERROR TRAPPING ROUTINE (not required) ===============
  303. 5500  IF ERR=10 THEN ERASE DAYS:RESUME 620
  304. 5510  IF ERR=4 THEN PRINT"DATA FOR EARNED DAYS IS NOT PROGRAMMED":RESUME 5660
  305. 5595  REM =============== BACKUP ON EXIT ROUTINE ==============================
  306. 6000  CLS:LOCATE 10,1:PRINT "PLACE FORMATTED BACKUP DISKETTE IN DRIVE (A) AND STRIKE ANY KEY WHEN READY"
  307. 6002  IN$=INKEY$:IF IN$="" THEN 6002
  308. 6003  IF M=20 THEN LOCATE 12,38:PRINT "WAIT!"
  309. 6005  SHELL"COPY C:VAC*.* A:"
  310. 6010  SYSTEM
  311. 6095  REM =============== CALENDAR RE-INITIALIZATION ROUTINE ==================
  312. 7000  I$="":PRINT:PRINT"All Vacations Presently Sscheduled For The New Vacation Year":PRINT"Will Be Printed Out Prior To Erasing Last Year's Schedule"
  313. 7001  PRINT:PRINT"PLEASE TURN ON YOUR PRINTER NOW, THEN STRIKE THE ENTER KEY !!"
  314. 7002  INPUT I$:CLS
  315. 7003  LPRINT"VACATIONS PREVIOUSLY SCHEDULED":LPRINT"======================================":LPRINT
  316. 7004  FOR Z=1 TO 50
  317. 7005  IF A$(Z)="" THEN LPRINT CHR$(12):LPRINT CHR$(12):GOTO 5015
  318. 7015  FOR Y=1 TO 30
  319. 7020  IF B(Z,Y)>366 THEN LPRINT A$(Z):GOTO 7035
  320. 7025  NEXT Y
  321. 7030  NEXT Z
  322. 7035  LPRINT MID$(CAL$(B(Z,Y)),3,8);"  ";
  323. 7040  Y=Y+1:IF Y=30 THEN 7045 ELSE 7035
  324. 7045  LPRINT:LPRINT:GOTO 7025
  325.